class Solution {
public:
    bool canConstruct(string r, string m) {
        int hash1[26] = { 0 }, hash2[26] = { 0 };
        int rn = r.size(), mn = m.size();
        for(int i = 0; i < rn; i++)
            hash1[r[i] - 'a']++;
        for(int i= 0; i < mn; i++)
            hash2[m[i] - 'a']++;
        for(int i = 0; i < 26; i++)
        {
            if(/*hash1[i] > 0 && */hash2[i] < hash1[i])
                return false;
        }
        return true;
    }
};